package com.aidong.myprofile.dao;

import java.util.List;
import java.util.Map;

import com.aidong.myprofile.entity.HailFellowMsg;
import com.aidong.myprofile.entity.MyPersonalMsg;

/**
 * 个人信息接口
 * @author user
 *
 */
public interface MyPersonalMsgDao {
	
	/**
	 * 获得个人信息
	 * @param idongId
	 * @return
	 */
	public MyPersonalMsg getPersonalMsg(String idongId);
	
	/**
	 * 修改个人信息
	 * @param map
	 */
	public void editMyPersonMsg(MyPersonalMsg personalMsg);
	
	/**
	 * 查看好友资料
	 * @param idongId
	 * @return
	 */
	public HailFellowMsg getHailFellowMsg(int idongId);
	
	/**
	 * 消息未读条数
	 * @param idongId
	 * @return
	 */
	public Map<String, Object> getMessageUnreadCount(int idongId);
	
	/**
	 * 预约条数
	 * @param idongId
	 * @return
	 */
	public Map<String, Object> getAppointmentCount(int idongId);
	
	/**
	 * 我关注的人数
	 * @param idongId
	 * @return
	 */
	public int getMyAttentionCount(int idongId);
	
	/**
	 * 我的粉丝人数
	 * @param idongId
	 * @return
	 */
	public int getMyFansCount(int idongId);
	
	public void bindQq(Map<String, Object> map);
	public void bindWeiBo(Map<String, Object> map);
	public void bindWeChat(Map<String, Object> map);
	
	public void bindQq2(Map<String, Object> map);
	public void bindWeiBo2(Map<String, Object> map);
	public void bindWeChat2(Map<String, Object> map);
	
	public void unBindQq(Map<String, Object> map);
	public void unBindWeiBo(Map<String, Object> map);
	public void unBindWeChat(Map<String, Object> map);
	
	public List<Map<String, Object>> qqAccount(Map<String, Object> map);
	public List<Map<String, Object>> weiBoAccount(Map<String, Object> map);
	public List<Map<String, Object>> weChatAccount(Map<String, Object> map);
	
	public int selectDynamicCount(int idongId);
	public int selectMessageCount(int idongId);
	
	public void deleteMessageNoPhone(Map<String, Object> map);
	public void deleteDynamicNoPhone(Map<String, Object> map);
	public void deleteMemberNoPhone(Map<String, Object> map);
	
	/**
	 * 查询任务标记
	 * @param map
	 * @return
	 */
	public Map<String, Object> selectTaskTags(int idongId);
	/**
	 * 根据爱动号查出预约的课程，场馆，活动，私教数量
	 * @param map
	 * @return
	 */
	public Integer selectMySubBan(Map<String, Object> map);
	public Integer selectMySubCoach(Map<String, Object> map);
	public Integer selectMySubCam(Map<String, Object> map);
	public Integer selectMySubAct(Map<String, Object> map);
	/**
	 * 根据爱动号查询出已支付未删除的营养品，餐饮，装备，赛事总数
	 * @param map
	 * @return
	 */
	public Integer selectMyOrderCou(Map<String, Object> map);
}
